package cn.etg.day05;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 *创建一个Map，保存某个学生的成绩:
 *在控制台输入该学生成绩，格式:
 *科目:成绩;科目:成绩;...
 *例如:  
 *语文:99;数学:98;英语:97;物理:96;化学:95
 *然后输出物理的成绩。
 *然后将化学的成绩设置为96
 *然后删除英语这一项。
 *然后遍历该Map分别按照遍历key，Entry，value
 *的形式输出该Map信息。
 * @author Xiloer
 *
 */

public class Test04 {
    public static void main(String[] args) {
        Map<String, Integer> grades = new HashMap<>();

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生成绩，格式：科目:成绩;科目:成绩;...");
        String input = scanner.nextLine();
        scanner.close();

        String[] gradePairs = input.split(";");
        for (String gradePair : gradePairs) {
            String[] subjectAndScore = gradePair.split(":");
            if (subjectAndScore.length == 2) {
                grades.put(subjectAndScore[0], Integer.parseInt(subjectAndScore[1]));
            }
        }

        System.out.println("物理的成绩：" + grades.get("物理"));

        grades.put("化学", 96);

        grades.remove("英语");

        System.out.println("遍历key：");
        for (String subject : grades.keySet()) {
            System.out.println(subject + ": " + grades.get(subject));
        }

        System.out.println("遍历Entry：");
        for (Map.Entry<String, Integer> entry : grades.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }

        System.out.println("遍历value：");
        for (Integer score : grades.values()) {
            System.out.println(score);
        }
    }
}